/**
 * 作者：
 * 创建时间：2012-6-26 下午3:29:48
 */
package dragon.model.bizObject;

import dragon.model.base.Model;
import dragon.model.base.ModelDescribe;

/**
 * 业务操作定义
 */
public class BizProcess extends Model {

	/**
	 * 业务操作功能按钮图标
	 */
	@ModelDescribe(annotation = "业务操作功能按钮图标")
	private String iconCls;

	/**
	 * 业务操作提示信息，鼠标移动到业务操作功能按钮上时显示的信息
	 */
	@ModelDescribe(annotation = "业务操作提示信息，鼠标移动到业务操作功能按钮上时显示的信息")
	private String tooltip;

	/**
	 * 自定义页面URL<br>
	 * 单击业务操作功能按钮后弹出指定页面，优先级高于functionCall和script
	 */
	@ModelDescribe(annotation = "自定义页面URL<br>单击业务操作功能按钮后弹出指定页面，优先级高于functionCall和script")
	private String url;

	/**
	 * 针对url的处理策略，是否弹窗(两种处理方式，0:ajax后台请求，1:弹窗处理)
	 */
	@ModelDescribe(annotation = "针对url的处理策略，是否弹窗(两种处理方式，0:ajax后台请求，1:弹窗处理)")
	private int popWindow = 0;

	/**
	 * 是否支持多行数据处理(0:否 1:是)
	 */
	@ModelDescribe(annotation = "是否支持多行数据处理(0:否 1:是)")
	private int multiple = 1;

	/**
	 * 弹出窗口宽度
	 */
	@ModelDescribe(annotation = "弹出窗口宽度")
	private int popWindowWidth = 800;

	/**
	 * 弹出窗口高度
	 */
	@ModelDescribe(annotation = "弹出窗口高度")
	private int popWindowHeight = 500;

	/**
	 * 是否允许窗口最大化(否0，是1)
	 */
	@ModelDescribe(annotation = "是否允许窗口最大化(否0，是1)")
	private int maximizable = 1;

	/**
	 * 打开窗口后是否最大化(否0，是1)
	 */
	@ModelDescribe(annotation = "打开窗口后是否最大化(否0，是1)")
	private int maximize = 0;

	/**
	 * 调用的函数<br>
	 * 单击业务操作功能按钮后执行的函数，优先级高于script
	 */
	@ModelDescribe(annotation = "调用的函数<br>单击业务操作功能按钮后执行的函数，优先级高于script")
	private String functionCall;

	/**
	 * 自定义脚本<br>
	 * 单击业务操作功能按钮后执行的自定义脚本，执行优先级最低
	 */
	@ModelDescribe(annotation = "自定义脚本<br>单击业务操作功能按钮后执行的自定义脚本，执行优先级最低")
	private String script;

	/**
	 * 业务操作所属目标(目前有两种：list,tree分别表示该操作按钮出现在列表页面和tree页面)
	 */
	@ModelDescribe(annotation = "业务操作所属目标(目前有两种：list,tree分别表示该操作按钮出现在列表页面和tree页面)")
	private String target = "list";

	@Override
	public String toString() {
		StringBuilder str = new StringBuilder();
		str.append(super.toString());
		str.append("dragon.model.bizObject.BizProcess:\n");
		str.append("iconCls=").append(iconCls).append("\t");
		str.append("tooltip=").append(tooltip).append("\t");
		str.append("url=").append(url).append("\t");
		str.append("popWindow=").append(popWindow).append("\t");
		str.append("multiple=").append(multiple).append("\t");
		str.append("popWindowWidth=").append(popWindowWidth).append("\t");
		str.append("popWindowHeight=").append(popWindowHeight).append("\t");
		str.append("maximizable=").append(maximizable).append("\t");
		str.append("maximize=").append(maximize).append("\t");
		str.append("functionCall=").append(functionCall).append("\t");
		str.append("script=").append(script).append("\t");
		str.append("target=").append(target).append("\t");
		str.append("\n");
		return str.toString();
	}

	@Override
	public String toHtmlString() {
		StringBuilder str = new StringBuilder();
		str.append(super.toHtmlString());
		str.append("dragon.model.bizObject.BizProcess:<br/>");
		str.append("iconCls=").append(iconCls).append("&nbsp;&nbsp;");
		str.append("tooltip=").append(tooltip).append("&nbsp;&nbsp;");
		str.append("url=").append(url).append("&nbsp;&nbsp;");
		str.append("popWindow=").append(popWindow).append("&nbsp;&nbsp;");
		str.append("multiple=").append(multiple).append("&nbsp;&nbsp;");
		str.append("popWindowWidth=").append(popWindowWidth).append("&nbsp;&nbsp;");
		str.append("popWindowHeight=").append(popWindowHeight).append("&nbsp;&nbsp;");
		str.append("maximizable=").append(maximizable).append("&nbsp;&nbsp;");
		str.append("maximize=").append(maximize).append("&nbsp;&nbsp;");
		str.append("functionCall=").append(functionCall).append("&nbsp;&nbsp;");
		str.append("script=").append(script).append("&nbsp;&nbsp;");
		str.append("target=").append(target).append("&nbsp;&nbsp;");
		str.append("<br/>");
		return str.toString();
	}

	/**
	 * @return the iconCls
	 */
	public String getIconCls() {
		return iconCls;
	}

	/**
	 * @param iconCls
	 *            the iconCls to set
	 */
	public void setIconCls(String iconCls) {
		this.iconCls = iconCls;
	}

	/**
	 * @return the tooltip
	 */
	public String getTooltip() {
		return tooltip;
	}

	/**
	 * @param tooltip
	 *            the tooltip to set
	 */
	public void setTooltip(String tooltip) {
		this.tooltip = tooltip;
	}

	/**
	 * @return the url
	 */
	public String getUrl() {
		return url;
	}

	/**
	 * @param url
	 *            the url to set
	 */
	public void setUrl(String url) {
		this.url = url;
	}

	/**
	 * @return the functionCall
	 */
	public String getFunctionCall() {
		return functionCall;
	}

	/**
	 * @param functionCall
	 *            the functionCall to set
	 */
	public void setFunctionCall(String functionCall) {
		this.functionCall = functionCall;
	}

	/**
	 * @return the script
	 */
	public String getScript() {
		return script;
	}

	/**
	 * @param script
	 *            the script to set
	 */
	public void setScript(String script) {
		this.script = script;
	}

	/**
	 * @return the popWindow
	 */
	public int getPopWindow() {
		return popWindow;
	}

	/**
	 * @param popWindow
	 *            the popWindow to set
	 */
	public void setPopWindow(int popWindow) {
		this.popWindow = popWindow;
	}

	/**
	 * @return the multiple
	 */
	public int getMultiple() {
		return multiple;
	}

	/**
	 * @param multiple
	 *            the multiple to set
	 */
	public void setMultiple(int multiple) {
		this.multiple = multiple;
	}

	/**
	 * @return the popWindowWidth
	 */
	public int getPopWindowWidth() {
		return popWindowWidth;
	}

	/**
	 * @param popWindowWidth
	 *            the popWindowWidth to set
	 */
	public void setPopWindowWidth(int popWindowWidth) {
		this.popWindowWidth = popWindowWidth;
	}

	/**
	 * @return the popWindowHeight
	 */
	public int getPopWindowHeight() {
		return popWindowHeight;
	}

	/**
	 * @param popWindowHeight
	 *            the popWindowHeight to set
	 */
	public void setPopWindowHeight(int popWindowHeight) {
		this.popWindowHeight = popWindowHeight;
	}

	/**
	 * @return the maximizable
	 */
	public int getMaximizable() {
		return maximizable;
	}

	/**
	 * @param maximizable
	 *            the maximizable to set
	 */
	public void setMaximizable(int maximizable) {
		this.maximizable = maximizable;
	}

	/**
	 * @return the maximize
	 */
	public int getMaximize() {
		return maximize;
	}

	/**
	 * @param maximize
	 *            the maximize to set
	 */
	public void setMaximize(int maximize) {
		this.maximize = maximize;
	}

	/**
	 * @return the target
	 */
	public String getTarget() {
		return target;
	}

	/**
	 * @param target
	 *            the target to set
	 */
	public void setTarget(String target) {
		this.target = target;
	}

}
